Because of the increasingly fast processing power of modem-day computers, users have turned to computers to assist them in the examination and analysis of images of real-world data. For example, within the medical community, radiologists and other professionals who once examined x-rays hung on a light screen now use computers to examine images obtained via ultrasound, computed tomography (CT), magnetic resonance (MR), ultrasonography, positron emission tomography (PET), single photon emission computed tomography (SPECT), magnetic source imaging, and other imaging techniques. Countless other imaging techniques will no doubt arise as medical imaging technology evolves.
Each of the above-identified imaging procedures generates volume images, although each relies on a different technology to do so. Thus, CT requires an x-ray source to rapidly rotate around a patient to obtain up to hundreds of electronically stored pictures of the patient. Conversely, for example, MR requires that radio-frequency waves be emitted to cause hydrogen atoms in the body's water to move and release energy, which is then detected and translated into an image. Because each of these techniques penetrates the body of a patient to obtain data, and because the body is three-dimensional, this data represents a three-dimensional image, or volume. In particular, CT and MR both provide three-dimensional “slices” of the body, which can later be electronically reassembled.
Computer graphics images, such as medical images, have typically been modeled through the use of techniques such as surface rendering and other geometric-based techniques. Because of known deficiencies of such techniques, volume-rendering techniques have been developed as a more accurate way to render images based on real-world data. Volume-rendering takes a conceptually intuitive approach to rendering, by assuming that three-dimensional objects are composed of basic volumetric building blocks.
These volumetric building blocks are commonly referred to as voxels. Whereas, by contrast, the well known pixel is a picture element—i.e., a tiny two-dimensional sample of a digital image have a particular location in the plane of a picture defined by two coordinates—a voxel is a sample that exists within a three-dimensional grid, positioned at coordinates x, y, and z. The voxel has a “voxel value,” as that value is obtained from real-world scientific or medical instruments. The voxel value may be measured in any of a number of different units, such as Hounsfield units, which are well known to those of ordinary skill within the art.
Furthermore, for a given voxel value, a transparency value, to indicate its opacity, as well as a color value, to indicate its color, may also be assigned (for example, in a particular tabling including such mappings). Such transparency and color values may be considered attribute values, in that they control various attributes (transparency, color, etc.) of the set of voxel data that makes up an image.
Using volume-rendering, any three-dimensional volume can be simply divided into a set of three-dimensional samples, or voxels. Thus, a volume containing an object of interest is dividable into small cubes, each of which contain some piece of the original object. This continuous volume representation is transformable into discrete elements by assigning to each cube a voxel value that characterizes some quality of the object as contained in that cube.
The object is thus summarized by a set of point samples, such that each voxel is associated with a single digitized point in the data set. As compared to mapping boundaries in the case of geometric-based surface-rendering, reconstructing a volume using volume-rendering requires much less effort and is more intuitively and conceptually clear. The original object is reconstructed by the stacking of voxels together in order, so that they accurately represent the original volume.
Although more simple on a conceptual level, and more accurate in providing an image of the data, volume-rendering is nevertheless still quite complex. In one method of voxel rendering, called image ordering or ray casting, the volume is positioned behind the picture plane, and a ray is projected perpendicularly from each pixel in the picture plane through the volume behind the pixel. As each ray penetrates the volume, it accumulates the properties of the voxels it passes through and adds them to the corresponding pixel. The properties accumulate more quickly or more slowly depending on the transparency of the voxels.
In another method, called object-order volume rendering, the voxel values are also combined to produce image pixels to display on a computer screen. Whereas image-order algorithms start from the image pixels and shoot rays into the volume, object-order algorithms generally start from the volume data and project that data onto the image plane.
A widely used object-order algorithm relies on dedicated graphics hardware to do the projection of the voxels in a parallel fashion. In one method, the volume data is copied into a 3D texture image. Then, slices perpendicular to the viewer are drawn; on each slice, the volumetric data is resampled. By drawing the slices in a back-to-front fashion and combining the results by a well-known technique called compositing, the final image will be generated. The image rendered in this method as well depends on the transparency of the voxels.
Thus while volume rendering provides significant visualization advantages, several problems remain. Although the speed of modern CPUs and graphics hardware is steadily increasing, the size of medical datasets is also rapidly growing. Modern multi-slice Computed Tomography (CT) scanners can generate datasets that contain more than a thousand slices; facilitating interactive manipulation and 3D visualization of these large datasets still poses tremendous challenges. Furthermore, in those systems employing texture mapping, with larger datasets the overhead associated with swapping data in and out and the limited-size texture memory severely degrades performance. As a result, there is a need in the art for the present invention.